package com.alks.function.service.procurement;

import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.procurement.InstructionPackageMaterialDetailsRequest;
import com.alks.function.data.request.procurement.InstructionPackageMaterialRequest;
import com.alks.function.data.request.procurement.InstructionPackageMaterialRequest2;

import java.util.List;

public interface InstructionPackagingMaterialService {

    ResponseInfo getNotCountLotNoList(InstructionPackageMaterialRequest request);

    ResponseInfo getProcessedLotNoList(InstructionPackageMaterialRequest request);

    ResponseInfo getInstructionPackageDetails(InstructionPackageMaterialRequest request);

    ResponseInfo addInstructionPackageDetails(InstructionPackageMaterialDetailsRequest request,String lotNo);

    ResponseInfo updateInstructionPackageDetails(InstructionPackageMaterialDetailsRequest request);

    ResponseInfo deleteAllInstructionPackage(String lotNo);

    ResponseInfo deleteInstructionPackageDetails(List<InstructionPackageMaterialDetailsRequest> request);

    ResponseInfo makeMaterialCode(InstructionPackageMaterialDetailsRequest request);

    ResponseInfo makeMaterialCodeBeNull(InstructionPackageMaterialDetailsRequest request);

    ResponseInfo copyInstructionPackageDetails(InstructionPackageMaterialRequest2 request);

    ResponseInfo calculatedConsumption(List<InstructionPackageMaterialRequest> request);

    ResponseInfo updateClickDetails(InstructionPackageMaterialRequest2 request);

    ResponseInfo getSizeListByStyle(String style);

    ResponseInfo addBatchInstructionPackageDetails(List<InstructionPackageMaterialDetailsRequest> list, String lotNo);

    ResponseInfo updateBatchInstructionPackageDetails(List<InstructionPackageMaterialDetailsRequest> list);

    ResponseInfo updateDate(String lotNo);
}
